{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "46735fe8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1ec27fda340>]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "dt = 0.000001\n",
    "dx = 0.001\n",
    "D = 1\n",
    "mu = 40 * D\n",
    "E = -10\n",
    "tau = 0.1\n",
    "sigma = D * dt / dx ** 2\n",
    "gamma = mu * E * dt / dx\n",
    "a = dt*D/2/dx**2\n",
    "b = 1+D*dt/dx**2+dt*mu*E/dx\n",
    "c = dt*mu*E/dx+D*dt/2/dx**2\n",
    "\n",
    "d = D*dt/2/dx**2\n",
    "e = 1-D*dt/dx**2\n",
    "f = D*dt/2/dx**2\n",
    "m = 500\n",
    "xBegin = - 2 * m * dx\n",
    "xEnd = (2 * m + 1)* dx\n",
    "xArr = np.arange(xBegin, xEnd, dx)\n",
    "\n",
    "n = 5000\n",
    "tBegin = 0\n",
    "tEnd = dt * n + dt\n",
    "tArr = np.arange(tBegin, tEnd, dt)\n",
    "width = 10 * dx\n",
    "uBegin = 1 / np.sqrt(2 * np.pi) / width * np.exp(- xArr ** 2 / 2 / width ** 2)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d1cc7a9e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using matplotlib backend: Qt5Agg\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<mpl_toolkits.mplot3d.art3d.Poly3DCollection at 0x1ec3766ac70>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = np.identity(xArr.size - 2)\n",
    "B = np.roll(A, 1)\n",
    "C = np.roll(A, -1)\n",
    "B[0, 0] = 0\n",
    "C[-1, -1] = 0\n",
    "A1 = b * A + c * B + a * C\n",
    "A2 = e * A + f * B + d * C\n",
    "A3 = np.linalg.inv(A1) @ A2\n",
    "uArr = np.zeros((xArr.size - 2, tArr.size))\n",
    "uArr[:, 0] = uBegin[1:-1]\n",
    "uCurrent = uArr[:, 0]\n",
    "for i in range(1, n):\n",
    "    uNext = A3 @ uCurrent\n",
    "    uArr[:, i] = uNext\n",
    "    uCurrent = uNext\n",
    "    \n",
    "XX, YY = np.meshgrid(tArr, xArr[1:-1])\n",
    "%matplotlib\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "fig = plt.figure(figsize = (12, 8))\n",
    "ax = fig.add_subplot(111, projection='3d')\n",
    "ax.plot_surface(XX, YY, uArr, cmap = plt.cm.spring)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6d02e965",
   "metadata": {},
   "outputs": [
    {
     "ename": "NotImplementedError",
     "evalue": "Axes3D currently only supports the aspect argument 'auto'. You passed in 'equal'.",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNotImplementedError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_9984/1739242500.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0muArr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mE:\\A\\lib\\site-packages\\matplotlib\\pyplot.py\u001b[0m in \u001b[0;36mimshow\u001b[1;34m(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, filternorm, filterrad, resample, url, data, **kwargs)\u001b[0m\n\u001b[0;32m   2901\u001b[0m         \u001b[0mfilternorm\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilterrad\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m4.0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mresample\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0murl\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2902\u001b[0m         data=None, **kwargs):\n\u001b[1;32m-> 2903\u001b[1;33m     __ret = gca().imshow(\n\u001b[0m\u001b[0;32m   2904\u001b[0m         \u001b[0mX\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcmap\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcmap\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnorm\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnorm\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maspect\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0maspect\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2905\u001b[0m         \u001b[0minterpolation\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minterpolation\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0malpha\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvmin\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mvmin\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mE:\\A\\lib\\site-packages\\matplotlib\\__init__.py\u001b[0m in \u001b[0;36minner\u001b[1;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m   1359\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0minner\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1360\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mdata\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1361\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0mmap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msanitize_sequence\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1362\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1363\u001b[0m         \u001b[0mbound\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnew_sig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mE:\\A\\lib\\site-packages\\matplotlib\\axes\\_axes.py\u001b[0m in \u001b[0;36mimshow\u001b[1;34m(self, X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, filternorm, filterrad, resample, url, **kwargs)\u001b[0m\n\u001b[0;32m   5602\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0maspect\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   5603\u001b[0m             \u001b[0maspect\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrcParams\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'image.aspect'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 5604\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_aspect\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maspect\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   5605\u001b[0m         im = mimage.AxesImage(self, cmap, norm, interpolation, origin, extent,\n\u001b[0;32m   5606\u001b[0m                               \u001b[0mfilternorm\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfilternorm\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilterrad\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfilterrad\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mE:\\A\\lib\\site-packages\\mpl_toolkits\\mplot3d\\axes3d.py\u001b[0m in \u001b[0;36mset_aspect\u001b[1;34m(self, aspect, adjustable, anchor, share)\u001b[0m\n\u001b[0;32m    321\u001b[0m         \"\"\"\n\u001b[0;32m    322\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0maspect\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;34m'auto'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 323\u001b[1;33m             raise NotImplementedError(\n\u001b[0m\u001b[0;32m    324\u001b[0m                 \u001b[1;34m\"Axes3D currently only supports the aspect argument \"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    325\u001b[0m                 \u001b[1;34mf\"'auto'. You passed in {aspect!r}.\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNotImplementedError\u001b[0m: Axes3D currently only supports the aspect argument 'auto'. You passed in 'equal'."
     ]
    }
   ],
   "source": [
    "plt.imshow(uArr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "86d5e49b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
